package main.java.study.step02;

/**
 * @author liuwenxiu
 * @Description: static关键字相关demo
 * @date 2022-7-13 13:45
 */
public class StaticDemo {
    
    static int outA = 100;
    int outB = 200;
    
    static class Inner{
        // 静态内部类
        // 静态内部类中可以定义静态变量和实例变量
        static int a = 10;
        int b = 20;
        
        void print(){
            System.out.println(outA);
            StaticDemo demo = new StaticDemo();
            System.out.println(demo.outB);
        }
    }
}

class OtherClass{
    public static void main(String[] args) {
        // 在创建静态内部类的实例时，不需要创建外部类的实例
        StaticDemo.Inner inner = new StaticDemo.Inner();
        // 访问静态内部类中的静态变量
        System.out.println(StaticDemo.Inner.a);
        // 访问实例变量
        System.out.println(inner.b);
        inner.print();
    }
}
